Skip to content

Add test role for converting external Swift storage nodes - #1356

Merged
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
cschwede:swift-conversion-tests
Apr 16, 2026
Merged

Add test role for converting external Swift storage nodes#1356
openshift-merge-bot[bot] merged 1 commit into
openstack-k8s-operators:mainfrom
cschwede:swift-conversion-tests

Conversation

@cschwede

@cschwede cschwede commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Swift adoption is a two-stage process:

  • Stage 1 (role swift_adoption) adopts the control plane and ring configuration. The Swift proxy service will run on OpenShift afterwards, Swift storage services will remain on the former nodes (either control plane or external storage nodes).

  • Stage 2 differs based on the goal:

    • either migrate data (eg. from control planes to PVs or dataplane nodes) using the existing role (swift_migration)
    • or convert existing nodes in place (eg. external ObjectStorage nodes) using the new role (swift_conversion).

This commit adds the test role for the conversion. This is basically a Swift storage dataplane deployment using pre-provisioned nodes, disabling the former TripleO services.

After running the initial control plane adoption, delete the existing OpenStackDataPlaneNodeSet before starting the conversion test. For example:

make test-minimal
oc delete --ignore-not-found=true OpenStackDataPlaneNodeSet --all make test-swift-conversion

JIRA: OSPRH-28625

Swift adoption is a two-stage process:

- Stage 1 (role swift_adoption) adopts the control plane and ring
  configuration. The Swift proxy service will run on OpenShift
  afterwards, Swift storage services will remain on the former nodes
  (either control plane or external storage nodes).

- Stage 2 differs based on the goal:
  - either migrate data (eg. from control planes to PVs or dataplane
    nodes) using the existing role (swift_migration)
  - or convert existing nodes in place (eg. external ObjectStorage
    nodes) using the new role (swift_conversion).

This commit adds the test role for the conversion. This is basically a
Swift storage dataplane deployment using pre-provisioned nodes,
disabling the former TripleO services.

After running the initial control plane adoption, delete the existing
OpenStackDataPlaneNodeSet before starting the conversion test. For
example:

make test-minimal
oc delete --ignore-not-found=true OpenStackDataPlaneNodeSet --all
make test-swift-conversion

JIRA: OSPRH-28625

Signed-off-by: Christian Schwede <cschwede@redhat.com>
@softwarefactory-project-zuul

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/19041c3c5f5b44479285ccdd23187b2e

✔️ noop SUCCESS in 0s
✔️ adoption-standalone-to-crc-ceph SUCCESS in 3h 00m 11s
adoption-standalone-to-crc-no-ceph FAILURE in 1h 53m 28s

@jistr jistr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

edpm_node_hostname: edpm-swift-0
edpm_user: root

edpm_bootstrap_command: |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if all these general variables should be defaulted inside the role, but given that this role is used in isolation (its own playbook and make target), it's probably ok.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I agree, and I was a bit hesitant as well. At the end I basically used the same approach as the dataplane_adoption role, and as you wrote this runs in isolation - that worked fine during my tests.

@openshift-ci openshift-ci Bot added the lgtm label Apr 8, 2026
@cschwede

cschwede commented Apr 8, 2026

Copy link
Copy Markdown
Contributor Author

recheck

Failed test should be unrelated to this change.

@jistr jistr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


/approve

@openshift-ci

openshift-ci Bot commented Apr 16, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jistr

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot
openshift-merge-bot Bot merged commit cafc332 into openstack-k8s-operators:main Apr 16, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants